#include "palettecouleur.h"
#include <QColor>
#include <QPainter>
#include "iostream"
#include "widgetcouleur.h"
#include <QRgb>

PaletteCouleur::PaletteCouleur(QWidget *parent):
    QLabel(parent)
{
    image =new QImage(190,127,QImage::Format_ARGB32);
    setEnabled(true);
    setMouseTracking(true);

    widgetCouleur = (WidgetCouleur *)parent;
    // on créé un QPainter pour dessiner sur le widget courant
    QPainter painter(image);

    // i représente la colonne et la teinte de cette colonne
    for(unsigned int i = 0; i < 180; ++i)
    {
        // j représente la ligne et la saturation de cette ligne
        for(unsigned int j = 0; j < 127; ++j)
        {
            // dessine le pixel (luminosité de 200, à gérer avec le truc de droite)
            painter.setPen(QColor::fromHsv(i*2, j*2, 200));
            painter.drawPoint(i, 127 - j);
        }
    }

    for(unsigned int i=1; i<127; ++i){
        for(unsigned int j=180; j<190; j++){
            painter.setPen(QColor::fromRgb(i*2, i*2, i*2));
            painter.drawPoint(j, i);
        }
    }
}

PaletteCouleur::~PaletteCouleur(){
    delete image;
}

QImage * PaletteCouleur::getMonImage(){
    return this->image;
}

void PaletteCouleur::mouseReleaseEvent(QMouseEvent *event){
    QRgb couleur;
    couleur = image->pixel(event->pos().x(), event->pos().y());
    widgetCouleur->changeCouleur(couleur);
    widgetCouleur->repaint();
}

